/*
 * SysCallTest.h
 *
 *  Created on: Jul 11, 2009
 *      Author: oferbart
 */

#ifndef SYSCALLTEST_H_
#define SYSCALLTEST_H_

#include <iostream>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <vector>
#include <sstream>
#include "Utils.h"
#include "MetadataBlock.h"
#include "INode.h"
#include "BlockNode.h"
#include "Utils.h"
#include "Log.h"
#include "HD.h"
#include "FileSys.h"
#include "SysCall.h"
using namespace std;

class SysCallTest {
public:
	SysCallTest();
	virtual ~SysCallTest();
	void testForLoopMakeFileAndDelete(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);
	void testMakeDirAndFileAndOpenClose(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);
	void test(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);
	void testHLink(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);
	void testSoftLinks(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);
	void testOpenTable(int dataBlockSize, int numberOfInodes, unsigned long int diskSize);


};

#endif /* SYSCALLTEST_H_ */
